#ifndef MIXER_H
#define MIXER_H

#include <QObject>

class Mixer : public QObject
{
    Q_OBJECT
    friend class Engine;
public:
    explicit Mixer(QObject *parent = 0);

    enum MixerConstants {k_nChannels = 3};

signals:

public slots:
    void volume(int channel, float volume); // master is 0
    void pan(int channel, float pan);
    void mute(int channel, bool isMuted);
private:
    struct Channel {
        float volume;
        float pan;
        bool isMuted;
    } channels [k_nChannels + 1]; //one more for master

};

#endif // MIXER_H
